package com.weido.test;

/**
 * 线程常用的API
 * interrupt()  中断正在休眠的线程
 * stop()   让某个线程停止运行
 * yield()  让当前正在运行的线程放弃当前的CPU资源，让其他的任务去占有CPU的执行时间。
 * 在Java中有两种线程：
        一种是用户线程
        另外一种是守护线程
 守护线程是一种特殊的线程，是指当进程中不存在用户线程的时候，守护线程会自动销毁(垃圾回收线程)。
 注意事项：
     设置守护线程必须要在调用start()方法之前设置，否则JDK会报错。
 * @author:Adair
 */
class InterruptThread extends Thread{
    @Override
    public void run(){
        //让线程休眠十秒钟
        try {
            Thread.sleep(10000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("请取走你的钞票......");
    }
}
@SuppressWarnings("all")  // 注解警告信息
public class Demo05 {
    public static void main(String[] args) {
        //创建线程对象
        InterruptThread t = new InterruptThread();
        //启动线程
        t.start();
        //线程等待2秒，打断子线程的睡眠
        try {
            Thread.sleep(20000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        //打断子线程的睡眠，继续执行睡眠之后的语句
//        t.interrupt();
        //终止子线程的执行，睡眠之后的语句不会被执行
        t.stop();
    }
}